package com.wiscamp.ninechapters.problems.enums;

/**
 * 题模式
 */
public enum ProblemModes {
    /**
     * 简单题：一个Problem只存在一个Question且没有题干
     */
    SIMPLE(154001, "简单题"),

    /**
     * 组合题：一个Problem存在多个Question，且多个Question共享一个Stem
     * 且多个Question的QuestionType相同
     */
    COMPOSITE(154002, "组合题"),

    /**
     * 复合题：一个Problem存在多个Question，且多个Question共享一个Stem
     * 且多个Question的QuestionType不同
     */
    HYBRID(154003, "复合题");

    private final int value;

    private final String name;

    ProblemModes(int value, String name) {
        this.value = value;
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public int getValue() {
        return value;
    }

    public static ProblemModes valueOf(int value) {
        return switch (value) {
            case 154001 -> ProblemModes.SIMPLE;
            case 154002 -> ProblemModes.COMPOSITE;
            case 154003 -> ProblemModes.HYBRID;
            default -> null;
        };
    }
}
